package com.mingqijia.gassafety.shared.constant;

/**
 * <p>
 * 数据异步导出,字段数组
 *
 * @author wanghai
 * @since 2021-10-12
 */


public class DataExporterConst {
    //导出状态 处理中
    public static final String STATUS_ING = "1";
    //已完成
    public static final String STATUS_SUCCESS = "2";
    public static final String STATUS_FAIL = "3";

    /**
     * 客户信息导出
     */
    public static final String[] consumerTitles =
            new String[]{"客户ID","燃气公司","户号", "户名","户址","户主手机号", "用户类型","气户状态",
                    "客户名称","客户地址", "行业类型","客户经纬度", "客户来源","创建时间","设备号",
                    "设备名称","设备厂商","设备类型", "安装位置","设备经纬度",
                    "检测类型", "设备状态","状态信息","运营商", "通讯方式",
                    "最近一次上报时间","电池电压","信号情况","气体浓度","关联时间",
                    "电磁阀名称", "电磁阀型号", "电磁阀材质", "电磁阀厂家", "电磁阀关联时间"
                    ,"联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
            };

    public static final String[] consumerFields =
            new String[]{"id","companyName","subsCode", "custName","custAddress","custPhone", "custType","custStatus",
                    "name", "customerAddress", "industryName", "position","source","createdAt","imei",
                    "equipmentName","equipmentManufacturer","equipmentTypeName", "installationPosition","location",
                    "detectionType","equipmentStatus","equipmentStatusInfo","operators", "communicationMode",
                    "latestTime","btV","signalStr","xlel", "bindingTime",
                    "valveName","valveModel","valveMaterial","valveManufacturer","valveBindTime"
                    ,"contactName1","contactPhone1","level1"
                    ,"contactName2","contactPhone2","level2","contactName3","contactPhone3","level3","contactName4","contactPhone4","level4"
                    ,"contactName5","contactPhone5","level5","contactName6","contactPhone6","level6","contactName7","contactPhone7","level7"
                    ,"contactName8","contactPhone8","level8","contactName9","contactPhone9","level9","contactName10","contactPhone10","level10"
    };

    /**
     * 客户信息-带服务信息导出
     */
    public static final String[] consumerServiceTitles =
            new String[]{"客户ID","燃气公司","户号", "户名","户址","户主手机号", "用户类型","气户状态",
                    "客户名称","客户地址", "行业类型","客户经纬度", "客户来源","创建时间","设备号",
                    "设备名称","设备厂商","设备类型", "安装位置","设备经纬度",
                    "检测类型", "设备状态","状态信息","运营商", "通讯方式",
                    "最近一次上报时间","电池电压","信号情况","气体浓度","关联时间",
                    "电磁阀名称", "电磁阀型号", "电磁阀材质", "电磁阀厂家", "电磁阀关联时间"
                    ,"联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
                    ,"服务信息","服务状态","服务开始日期","服务开始日期"
            };

    public static final String[] consumerServiceFields =
            new String[]{"id","companyName","subsCode", "custName","custAddress","custPhone", "custType","custStatus",
                    "name","customerAddress", "industryName", "position","source","createdAt","imei",
                    "equipmentName","equipmentManufacturer","equipmentTypeName", "installationPosition","location",
                    "detectionType","equipmentStatus","equipmentStatusInfo","operators", "communicationMode",
                    "latestTime","btV","signalStr","xlel", "bindingTime",
                    "valveName","valveModel","valveMaterial","valveManufacturer","valveBindTime"
                    ,"contactName1","contactPhone1","level1"
                    ,"contactName2","contactPhone2","level2","contactName3","contactPhone3","level3","contactName4","contactPhone4","level4"
                    ,"contactName5","contactPhone5","level5","contactName6","contactPhone6","level6","contactName7","contactPhone7","level7"
                    ,"contactName8","contactPhone8","level8","contactName9","contactPhone9","level9","contactName10","contactPhone10","level10"
                    ,"serviceInfo","serviceStatusName","startDate","endDate"
            };


    /**
     * 客户信息导出 - 模板二
     */
    public static final String[] asstConsumerTitles =
            new String[]{"客户ID","用户ID", "用户手机号","行业类型","客户经纬度",
                    "创建时间","设备号",
                    "设备名称","设备厂商","设备类型", "安装位置","设备经纬度",
                    "检测类型", "设备状态","状态信息","运营商", "通讯方式",
                    "最近一次上报时间","电池电压","信号情况","气体浓度","关联时间"};

    public static final String[] asstConsumerFields =
            new String[]{"id","memberId","phone","industryName","position",
                      "createdAt","imei",
                    "equipmentName","equipmentManufacturer","equipmentTypeName", "installationPosition","location",
                    "detectionType","equipmentStatus","equipmentStatusInfo","operators", "communicationMode",
                    "latestTime","btV","signalStr","xlel", "bindingTime"
            };
    /**
     * 设备导出
     */
    public static final String[] euquipmentTitles =
            new String[]{"设备号（IMEI）", "ICCID","设备厂商", "设备类型", "设备型号","协议版本","检测类型",
                    "回路情况", "运营商","通讯方式","设备有效期", "设备到期时间",
                    "开通状态","开通时间","激活状态","激活时间","注册状态","注册时间", "登记时间"};

    public static final String[] euquipmentFields =
            new String[]{"imei","iccid", "equipmentManufacturer", "equipmentType","equipmentModel","protocolVersion", "detectionType",
                    "loopAmount", "operators","communicationMode","validity", "expirationTime",
                    "openStatus","openTime","activateStatus","activateTime","registerStatus","signInTime","registerTime"
            };

    /**
     * 实时监控导出
     */
    public static final String[] latestGasUserTitles =
            new String[]{"设备号（IMEI）", "工单处理状态","设备名称", "设备类型", "设备位置","设备状态",
                    "设备状态说明","电磁阀信息","气体浓度","信号情况", "最近一次上报时间", "设备厂商","设备型号",
                    "检测类型","通讯方式","运营商","经纬度","燃气公司","户名","户号","户主手机号","户址","行业类型"
                    ,"客户名称","客户地址","用户类型","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别"
    };


    public static final String[] latestGasUserFields =
            new String[]{"imei","handleStatus", "equipmentName", "equipmentTypeName","installationPosition",
                    "equipmentStatusName","equipmentStatusInfo","hasValve","xlel","signalStr", "latestTime","equipmentManufacturer",
                    "equipmentModel","detectionType","communicationMode","operators","lonLat","companyName","custName","subsCode","custPhone","custAddress", "industryTypeName"
                    ,"name","customerAddress" ,"custType","contactName1","contactPhone1","level1"
                    ,"contactName2","contactPhone2","level2","contactName3","contactPhone3","level3","contactName4","contactPhone4","level4"
                    ,"contactName5","contactPhone5","level5","contactName6","contactPhone6","level6","contactName7","contactPhone7","level7"
                    ,"contactName8","contactPhone8","level8","contactName9","contactPhone9","level9","contactName10","contactPhone10","level10"
            };

    /**
     * 实时监控导出
     */
    public static final String[] latestVccUserTitles =
            new String[]{"设备号（IMEI）", "工单处理状态","设备名称", "设备类型", "设备位置","设备状态",
                    "状态信息","电磁阀信息","气体浓度","信号情况", "最近一次上报时间","设备厂商","设备型号",
                    "用户ID","联系人姓名","联系人电话","安装地址","行业类型"};

    public static final String[] latestVccUserFields =
            new String[]{"imei", "handleStatus", "equipmentName","equipmentTypeName","installationPosition",
                    "equipmentStatusName","equipmentStatusInfo","hasValve","xlel","signalStr", "latestTime",
                    "equipmentManufacturer", "equipmentModel","memberId","contactName","contactPhone","installationAddress", "industryTypeName"
            };

    /**
     * 设备运行记录导出
     */
    public static final String[] runningRecordTitles =
            new String[]{"通知时间", "通知方式","通知对象信息", "通知对象手机号","通知对象级别",
                    "发送结果" ,"内容"};

    public static final String[] runningRecordFields =
            new String[]{"startTime", "sendType", "consumerInfo","pushPhone","objLevel",
                    "sendResult", "content"};

    /**
     * 报警记录
     * 模板一（燃气用户）
     */
    public static final String[] AlertGasUserTitles =
            new String[]{"报警时间","报警持续时长","处理状态","报警原因","处理详情", "处理人","处理时间","报警时气体浓度","电磁阀信息","设备号", "设备名称", "设备类型", "设备位置","检测类型","运营商" ,"通讯方式","设备厂商", "设备型号",
                    "经纬度","燃气公司","户名", "户号", "户主手机号", "户址", "行业类型","客户名称","客户地址","用户类型","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"   };

    public static final String[] AlertGasUserFields =
            new String[]{"latestTime", "warnDuration","appealStatusMsg","valveBrokenInfo","appealResult", "userInfo", "appealTime","xlel","hasValve","imei", "equipmentName", "equipmentTypeName", "installationPosition",
                "detectionType","operators","communicationMode",    "equipmentManufacturer", "equipmentModel", "lonLat","companyName","custName", "subsCode", "custPhone", "custAddress", "industryTypeName","name","customerAddress","custType","levelName1","telephone1","level1"
                    ,"contactName2","contactPhone2","level2","contactName3","contactPhone3","level3","contactName4","contactPhone4","level4"
                    ,"contactName5","contactPhone5","level5","contactName6","contactPhone6","level6","contactName7","contactPhone7","level7"
                    ,"contactName8","contactPhone8","level8","contactName9","contactPhone9","level9","contactName10","contactPhone10","level10"
    };
    /**
     * 报警记录
     * 模板二（Vcc用户）
     */
    public static final String[] AlertVccUserTitles =
            new String[]{"报警时间", "报警持续时长","处理状态", "处理人","处理时间","报警时气体浓度","设备号", "设备名称", "设备类型", "设备位置",  "设备厂商", "设备型号",
                    "用户ID", "联系人姓名", "联系人电话", "安装地址", "行业类型"};

    public static final String[] AlertVccUserFields =
            new String[]{"latestTime","warnDuration","appealStatusMsg", "userInfo", "appealTime","xlel","imei", "equipmentName", "equipmentTypeName", "installationPosition",
                     "equipmentManufacturer", "equipmentModel", "memberId", "contactName", "contactPhone", "installationAddress", "industryTypeName"
            };
    /*
     * 故障记录
     * 模板一（燃气用户）
     */
    public static final String[] BrokenGasUserTitles =
            new String[]{"故障时间","处理状态", "处理详情","处理人","处理时间","故障原因","电磁阀信息","设备号", "设备名称","设备类型", "设备位置","检测类型","运营商",
                    "通讯方式","设备厂商", "设备型号","经纬度","燃气公司","户名","户号","户主手机号","户址","行业类型",
                    "客户名称","客户地址","用户类型","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
                    ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
            };

    public static final String[] BrokenGasUserFields =
            new String[]{"latestTime", "appealStatusMsg", "appealResult", "userInfo", "appealTime", "brokenReason", "hasValve", "imei", "equipmentName", "equipmentTypeName", "installationPosition",
                    "detectionType", "operators", "communicationMode", "equipmentManufacturer", "equipmentModel", "lonLat","companyName", "custName", "subsCode", "custPhone", "custAddress", "industryTypeName"
                    ,"name","customerAddress","custType","contactName1","contactPhone1","level1"
                    ,"contactName2","contactPhone2","level2","contactName3","contactPhone3","level3","contactName4","contactPhone4","level4"
                    ,"contactName5","contactPhone5","level5","contactName6","contactPhone6","level6","contactName7","contactPhone7","level7"
                    ,"contactName8","contactPhone8","level8","contactName9","contactPhone9","level9","contactName10","contactPhone10","level10"
    };
    /**
     * 故障记录
     * 模板二（Vcc用户）
     */
    public static final String[] BrokenVccUserTitles =
            new String[]{"故障时间","处理状态", "处理人","处理时间","设备号", "设备名称","设备类型", "设备位置","故障原因","设备厂商", "设备型号",
                    "用户ID","联系人姓名","联系人电话","安装地址","行业类型"};

    public static final String[] BrokenVccUserFields =
            new String[]{"latestTime", "appealStatusMsg", "userInfo","appealTime","imei", "equipmentName","equipmentTypeName","installationPosition",
                    "brokenReason", "equipmentManufacturer", "equipmentModel","memberId","contactName","contactPhone","installationAddress", "industryTypeName"
            };

    /**
     * 账户信息导出
     */
    public static final String[] userTitles =
            new String[] {"姓名","账号","企业","部门","角色","状态","手机号"};

    public static final String[] userFields =
            new String[] {"name","username","hierarchy","department","roleId","state","phone"};

    /**
     * 企业信息导出
     */
    public static final String[] companyTitles =
            new String[] {"组织名称","组织简称","组织类型","企业属性","组织代码","使用状态","父级组织"};

    public static final String[] companyFields =
            new String[] {"name","alias","type","nature","code","state","parent"};
    /**
     * 杭州报警记录
     */
    public static final String[] HangzhouAlertGasUserTitles = new String[]{"报警时间","报警持续时长","设备号","处理类型","处理详情","处理结果","处理时间","处理人","报警时气体浓度","电磁阀信息","设备名称","设备类型", "设备位置",
            "检测类型","运营商","通讯方式","设备厂商","设备型号","经纬度","燃气公司","户名","户号","户主手机号","户址","行业类型","客户名称","客户地址","用户类型","联系人姓名","联系方式","级别"
            ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"
            ,"联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别","联系人姓名","联系方式","级别"    };
    public static final String[] HangzhouAlertVccUserTitles = new String[]{"报警时间","设备号","处理类型","处理详情","处理结果","处理时间","设备名称,","设备类型", "设备位置","报警时气体浓度",
            "设备厂商","设备型号","用户ID","联系人姓名","联系人电话","安装地址","行业类型"};
    public static final String[] HangzhouAlertGasUserFields = new String[]{"latestTime","warnDuration", "imei","dealtType","dealtDetail","dealtResult","dealtTime", "userInfo","xlel","hasValve","equipmentName","equipmentTypeName","installationPosition",
            "detectionType","operators","communicationMode","equipmentManufacturer","equipmentModel","lonLat","companyName","custName","subsCode","custPhone","custAddress", "industryTypeName","name","customerAddress","custType","contactName1","contactPhone1","level1"
            ,"contactName2","contactPhone2","level2","contactName3","contactPhone3","level3","contactName4","contactPhone4","level4"
            ,"contactName5","contactPhone5","level5","contactName6","contactPhone6","level6","contactName7","contactPhone7","level7"
            ,"contactName8","contactPhone8","level8","contactName9","contactPhone9","level9","contactName10","contactPhone10","level10"
    };
    public static final String[] HangzhouAlertVccUserFields = new String[]{"latestTime", "imei","dealtType","dealtDetail","dealtResult","dealtTime", "equipmentName","equipmentTypeName","installationPosition",
            "xlel","equipmentManufacturer","equipmentModel","memberId","contactName","contactPhone","installationAddress", "industryTypeName"
    };
    /**
     * 杭州故障记录
     */

    /**
     * 故障记录
     * 模板一（gas用户）
     */
    public static final String[] HangzhouBrokenGasUserTitles =
            new String[]{"故障时间","处理状态","处理人","故障原因","设备号", "设备名称","设备类型", "设备位置","设备厂商", "设备型号",
                    "户名","户号","户主手机号","户址","行业类型"};

    public static final String[] HangzhouBrokenGasUserFields =
            new String[]{"latestTime", "appealStatusMsg","userInfo","brokenReason","imei", "equipmentName","equipmentTypeName","installationPosition",
                    "manufactureName", "equipmentModel", "custName","subsCode","custPhone","custAddress", "industryTypeName"
            };
    /**
     * 故障记录
     * 模板二（Vcc用户）
     */
    public static final String[] HangzhouBrokenVccUserTitles =
            new String[]{"故障时间","处理状态","处理人","故障原因","设备号", "设备名称","设备类型", "设备位置","设备厂商", "设备型号",
                    "用户ID","联系人姓名","联系人电话","安装地址","行业类型"};

    public static final String[] HangzhouBrokenVccUserFields =
            new String[]{"latestTime","appealStatusMsg","userInfo",  "brokenReason","imei", "equipmentName","equipmentTypeName","installationPosition",
                    "manufactureName", "equipmentModel","memberId","contactName","contactPhone","installationAddress", "industryTypeName"
            };

    /**
     * 组织管理导出
     */
    public static final String[] organizationalDepartmentRecordTitles =
            new String[]{ "管辖组织", "组织类型","管理区域","安装数量" };

    public static final String[] organizationalDepartmentFields =
            new String[]{"orgName","orgTypeName","funcName",  "installSum"};
    /**
     * 账号管理导出
     */
    public static final String[] accountNumberRecordTitles =
            new String[]{"姓名", "账号","员工工号", "角色","状态","手机号码" };

    public static final String[] accountNumberFields =
            new String[]{"userName","userCode","staffCode", "roleNames","stateName", "contactInfo"
            };


    /**
     * 企业管理记录导出
     */
    public static final String[] companyRecordTitles =
            new String[]{"组织名称", "组织简称","组织类型", "设备数量","安装数量","创建时间" };

    public static final String[] companyRecordFields =
            new String[]{"spName", "spShortName", "scaleStr","imeiSum","installSum","createTime"};

    public static final String[] oneReportListTitles =
            new String[]{"统计项", "统计项分类", "注册总数", "开通总数", "每天均上报-数量","每天均上报-占比",
                    "连续3日以上未报-数量","连续3日以上未报-占比","连续5日以上未报-数量","连续5日以上未报-占比",
                    "连续7日以上未报-数量","连续7日以上未报-占比","连续14日以上未报-数量","连续14日以上未报-占比",
                    "连续30日以上未报-数量","连续30日以上未报-占比"};

    public static final String[] oneReportListFields =
            new String[]{"typeName", "groupTypeName", "registerNumber", "openNumber", "zeroDays","zeroDaysPercent"
                    ,"threeDays", "threeDaysPercent", "fiveDays","fiveDaysPercent","sevenDays", "sevenDaysPercent",
                    "fourteenDays","fourteenDaysPercent","thirtyDays","thirtyDaysPercent"};

    public static final String[] oneReportDetailTitles =
            new String[]{"设备号", "设备位置", "设备名称", "设备类型", "最近一次设备状态","设备状态说明","信号情况",
                    "最近一次上报时间", "通讯方式","运营商","设备厂商", "设备型号",
                    "客户名称","户名","户号","户址","行业类型"};

    public static final String[] oneReportDetailFields =
            new String[]{"imei", "installationPosition", "equipmentName", "equipmentTypeName", "equipmentStatus","equipmentStatusInfo","signal",
                    "latestTime", "communicationMode", "operators", "equipmentManufacturer", "equipmentModel",
                    "name","custName","subsCode","custAddress","industryTypeName"};

    public static final String[] deviceMonthReportDetailTitles =
            new String[]{"统计项", "1日", "2日", "3日", "4日","5日","6日", "7日", "8日","9日","10日", "11日", "12日","13日","14日","15日","16日",
                    "17日", "18日", "19日", "20日", "21日", "22日", "23日", "24日", "25日", "26日", "27日", "28日", "29日", "30日", "31日"};

    public static final String[] deviceMonthReportDetailFields =
            new String[]{"typeName", "day1", "day2", "day3", "day4","day5","day6", "day7", "day8", "day9", "day10", "day11", "day12","day13","day14","day15","day16",
                    "day17","day18","day19","day20","day21", "day22","day23","day24","day25","day26", "day27","day28","day29","day30","day31"};

    public static final String[] deviceMonthReportDetailTitlesThree =
            new String[]{"统计项", "1日", "2日", "3日", "4日","5日","6日", "7日", "8日","9日","10日", "11日", "12日","13日","14日","15日","16日",
                    "17日", "18日", "19日", "20日", "21日", "22日", "23日", "24日", "25日", "26日", "27日", "28日", "29日", "30日"};

    public static final String[] deviceMonthReportDetailFieldsThree =
            new String[]{"typeName", "day1", "day2", "day3", "day4","day5","day6", "day7", "day8", "day9", "day10", "day11", "day12","day13","day14","day15","day16",
                    "day17","day18","day19","day20","day21", "day22","day23","day24","day25","day26", "day27","day28","day29","day30"};

    public static final String[] deviceMonthReportDetailTitleLeap =
            new String[]{"统计项", "1日", "2日", "3日", "4日","5日","6日", "7日", "8日","9日","10日", "11日", "12日","13日","14日","15日","16日",
                    "17日", "18日", "19日", "20日", "21日", "22日", "23日", "24日", "25日", "26日", "27日", "28日", "29日"};

    public static final String[] deviceMonthReportDetailFieldLeap =
            new String[]{"typeName", "day1", "day2", "day3", "day4","day5","day6", "day7", "day8", "day9", "day10", "day11", "day12","day13","day14","day15","day16",
                    "day17","day18","day19","day20","day21", "day22","day23","day24","day25","day26", "day27","day28","day29"};

    public static final String[] deviceMonthReportDetailTitle =
            new String[]{"统计项", "1日", "2日", "3日", "4日","5日","6日", "7日", "8日","9日","10日", "11日", "12日","13日","14日","15日","16日",
                    "17日", "18日", "19日", "20日", "21日", "22日", "23日", "24日", "25日", "26日", "27日", "28日"};

    public static final String[] deviceMonthReportDetailField =
            new String[]{"typeName", "day1", "day2", "day3", "day4","day5","day6", "day7", "day8", "day9", "day10", "day11", "day12","day13","day14","day15","day16",
                    "day17","day18","day19","day20","day21", "day22","day23","day24","day25","day26", "day27","day28"};

    public static final String[] deviceYearReportDetailTitles =
            new String[]{"统计项", "1月", "2月", "3月", "4月","5月","6月", "7月", "8月","9月","10月", "11月", "12月"};

    public static final String[] deviceYearReportDetailFields =
            new String[]{"typeName", "day1", "day2", "day3", "day4","day5","day6", "day7", "day8", "day9", "day10", "day11", "day12"};

}
